﻿using System;
using RestaurantMenu.Library;

namespace RestaurantMenu
{
    class Restaurant
    {
        static void Main()
        {
            Console.OutputEncoding = System.Text.Encoding.Unicode;
            ProductList stock = new ProductList();
            Customer customer = new Customer();
            IRestaurantUI ui = new ConsoleRestaurantUI(stock, customer);

            //alchohol group
            var menuItem1 = new Alcohol("Vodka", new NutritionFacts(1010, 0, 0, 0), 6, 100, 0.296m);
            var menuItem2 = new Alcohol("Whiskey", new NutritionFacts(1010, 0, 0, 0), 8, 100, 0.296m);
            var menuItem3 = new Alcohol("Heineken Lager", new NutritionFacts(460, 0, 29, 0), 5, 250, 0.099m);
            var menuItem4 = new Alcohol("Zagorka", new NutritionFacts(900, 0, 49, 0), 3, 500, 0.066m);
            var menuItem5 = new Alcohol("Champagne", new NutritionFacts(89, 1, 2, 0), 6, 120, 0.116m);

            //non-alcohol group
            var menuItem6 = new NonAlcohol("Mineral Water", new NutritionFacts(0, 0, 0, 0), 1, 500);
            var menuItem7 = new NonAlcohol("Club soda", new NutritionFacts(0, 0, 0, 0), 1, 500);
            var menuItem8 = new NonAlcohol("Coca-Cola", new NutritionFacts(942, 0, 57, 5), 2, 500);
            var menuItem9 = new NonAlcohol("Coffee", new NutritionFacts(8, 1, 5, 1), 0, 340);
            var menuItem10 = new NonAlcohol("Iced Tea", new NutritionFacts(251, 0, 15, 0), 5, 340);

            //foods Salads group
            var menuItem11 = new Food(FoodType.Salad, "Macaroni Salad", 10, new NutritionFacts(720, 8, 50, 50), 8, 280);
            var menuItem12 = new Food(FoodType.Salad, "Garden Fresh Salad", 10, new NutritionFacts(315, 3, 15, 0), 6, 300);
            var menuItem13 = new Food(FoodType.Salad, "Asian Chicken Salad", 10, new NutritionFacts(920, 66, 120, 78), 11, 550);
            var menuItem14 = new Food(FoodType.Salad, "Chef Salad", 10, new NutritionFacts(879, 20, 9, 9), 9, 335);
            var menuItem15 = new Food(FoodType.Salad, "Shopska Salad", 10, new NutritionFacts(260, 7, 15, 20), 5, 400);

            //foods Main Dishes group
            var menuItem16 = new Food(FoodType.MainDish, "Salsa with Grilled Chicken", 15, new NutritionFacts(176, 24, 5, 7), 13, 150);
            var menuItem17 = new Food(FoodType.MainDish, "Thai Chicken Pizza", 15, new NutritionFacts(357, 20, 41, 9), 9, 180);
            var menuItem18 = new Food(FoodType.MainDish, "Curried Chicken Pitas", 9, new NutritionFacts(351, 27, 42, 9), 9, 210);
            var menuItem19 = new Food(FoodType.MainDish, "Hungarian Beef Goulash", 9, new NutritionFacts(177, 25, 7, 5), 13, 200);
            var menuItem20 = new Food(FoodType.MainDish, "Glazed Pork Medallions", 19, new NutritionFacts(167, 24, 6, 5), 18, 200);

            // foods Desserts group
            var menuItem21 = new Food(FoodType.Dessert, "Chocolate Shake", 4, new NutritionFacts(2152, 13, 85, 13), 8, 400);
            var menuItem22 = new Food(FoodType.Dessert, "Dutch Apple Pie", 11, new NutritionFacts(1424, 2, 52, 14), 6, 113);
            var menuItem23 = new Food(FoodType.Dessert, "Vanilla Bean Cheese Cake", 4, new NutritionFacts(795, 2, 26, 9), 4, 77);
            var menuItem24 = new Food(FoodType.Dessert, "Blueberry yogurt", 8, new NutritionFacts(364, 1, 19, 1), 6, 113);
            var menuItem25 = new Food(FoodType.Dessert, "Cherry vanilla pudding", 7, new NutritionFacts(322, 0, 20, 1), 5, 113);

            stock.AddProduct(menuItem1, 5);
            stock.AddProduct(menuItem2, 2);
            stock.AddProduct(menuItem3, 3);
            stock.AddProduct(menuItem4, 5);
            stock.AddProduct(menuItem5, 2);
            stock.AddProduct(menuItem6, 3);
            stock.AddProduct(menuItem7, 5);
            stock.AddProduct(menuItem8, 2);
            stock.AddProduct(menuItem9, 3);
            stock.AddProduct(menuItem10, 5);
            stock.AddProduct(menuItem11, 2);
            stock.AddProduct(menuItem12, 3);
            stock.AddProduct(menuItem13, 5);
            stock.AddProduct(menuItem14, 2);
            stock.AddProduct(menuItem15, 3);
            stock.AddProduct(menuItem16, 5);
            stock.AddProduct(menuItem17, 2);
            stock.AddProduct(menuItem18, 3);
            stock.AddProduct(menuItem19, 5);
            stock.AddProduct(menuItem20, 2);
            stock.AddProduct(menuItem21, 3);
            stock.AddProduct(menuItem22, 5);
            stock.AddProduct(menuItem23, 2);
            stock.AddProduct(menuItem24, 3);
            stock.AddProduct(menuItem25, 3);

            ui.Run();
        }
    }
}

